草庐IT

android - 模拟 Android AssetManager

全部标签

Android之简单描述jetpack

把很多变量,逻辑和数据摆在我们的Activity和Fragment中,这样的代码很混乱,难以维护。这样的开发模式违反了单一责任的原则。而ViewModel可以有效地划分责任。具体的可以用于持有和UI元素相关的数据,以保证这些数据在屏幕旋转时不会丢失,以及负责和仓库之间进行通讯。然后Activity仅负责了解如何在屏幕上显示该数据和接受用户互动,但是它不会处理这些互动。如果你的应用需要获取和存储数据,那么建议创建一个Repository的仓库储存区类。存储与加载应用数据的API,要做的工作是自主判断接口请求的数据应该是从数据库中读取还是从网络中获取,并将数据返回给调用方。如果是从网络中获取的话还

javascript - 在 AngularJS 事件单元测试中模拟事件对象

我有以下测试:it('Shouldkeeplocationwhenuserrejectsconfirmation',inject(function($controller,$rootScope){varconfirmStub=sinon.stub(),eventStub={preventDefault:sinon.spy()};miscServiceStub=function(){this.confirm=confirmStub;};confirmStub.returns(false);initializeController($controller,'Builder',$rootSc

javascript - 如何使用 Sinon/Qunit 模拟 'timeout' 或 'failure' 响应?

我在模拟成功条件时没有遇到任何问题,但似乎无法理解在使用Sinon和Qunit进行测试时如何模拟失败/超时条件和ajax函数:我的设置是这样的:$(document).ready(function(){module("myTests",{setup:function(){xhr=sinon.sandbox.useFakeXMLHttpRequest();xhr.requests=[];xhr.onCreate=function(request){xhr.requests.push(request);};myObj=newMyObj("#elemSelector");},teardown

javascript - 异步函数不在 android 上返回

我遇到一个异步函数在android上运行时不返回而在iOS上运行时正常返回的问题。这是函数:_getLocationAsync=async()=>{let{status}=awaitPermissions.askAsync(Permissions.LOCATION);if(status!=='granted'){this.setState({errorMessage:'Permissiontoaccesslocationwasdenied',});}letlocation=awaitLocation.getCurrentPositionAsync({});this.setState({

javascript - 带 Angular 模拟的 Protractor 抛出 "Window Not Defined"

我已经针对这个问题进行了大量搜索,但找不到解决方案。我正在尝试模拟我的后端,它经过了很好的测试,因此我可以完全隔离我的前端。我尝试过使用protractor-http-mock以及使用angular-mocks的各种努力。在使用HttpBackend确定angular-mocks方法后,我在启动Protractor测试时遇到了这个错误:MBP:test-siteadmin$protractorprotractor.conf.jsUsingChromeDriverdirectly...[launcher]Running1instancesofWebDriver[launcher]Erro

javascript - 如何防止移动浏览器中的模拟鼠标事件?

移动浏览器模拟鼠标事件以支持仅将处理程序附加到鼠标事件的网站。但是,如果您想实现两种交互模型-一种用于鼠标事件,一种用于触摸事件-那么防止浏览器模拟鼠标事件会很有帮助。在iOSSafari上,这非常简单-只需在touchend上运行preventDefault即可:jQuery(document).on('touchend',function(e){//Dosomelogice.preventDefault();});这很正常。不幸的是,Android的默认浏览器和Dolfin都没有使用这种技术取消鼠标模拟。(当preventDefault在touchstart上运行时,Dolfin将

javascript - 当没有编写 api 时,如何模拟 Angular2 中的 http observable

我是Angular2和Rxjs的新手,我对一个特定案例有点困惑。我有一个简单的服务:import{Injectable}from'@angular/core';import{Observable,Subject}from'rxjs/Rx';import{Http,Response}from'@angular/http';exportinterfaceArticle{id:number;title:string;content:string;author:string;}@Injectable()exportclassArticleService{private_articles$:Su

javascript - 如何使用纯 JavaScript 模拟在 Chrome 56 的输入网络元素中输入的键?

我正在网页中开发一些程序自动化,并试图在Chrome56(特别是56.0.2924.87)中的输入网络元素中输入击键,但似乎无法正常工作。我做了功课并尝试了很多在线示例,包括在此处找到的示例:Javascript-simulatekeyeventsonChrome53,但没有运气。这是我基于上述问题中提供的解决方案的最新(目前无法正常工作)尝试:KeyboardEventsclickme您可以观察正在生成的事件,但输入的网络元素中没有出现任何字符。我会非常欣赏一个在Chrome56中运行的纯JavaScript示例,即按下页面上的按钮和输入网络元素中出现的字符,而无需设置“值”属性输入

javascript - 模拟连接错误

一段时间以来,我们一直在使用protractor进行端到端测试。现在我们正在尝试涵盖几个极端情况,其中涉及修改来自API端点请求的响应-为此我们使用protractor-http-mock它提供了一种易于使用的方法来用预定义的模拟替换HTTP响应。但是,如果我们想测试突然断开连接的情况怎么办?在这种情况下我们有哪些选择?换句话说,我们想要实现一种情况,即对特定端点的请求会产生网络连接错误,并查看我们的应用程序将如何react。我愿意接受任何建议,我目前正在考虑以下策略:看看有没有类似protractor-http-mock的第三方nodejs库模拟$httpangularjs服务启动代

javascript - 用 Jest 模拟 ES6 类函数

我有一个问题,关于如何使用Jest模拟ES6类实例,我实际想要测试的方法使用了它。我的真实案例是尝试测试一个Redux异步Action创建者,它发出请求并根据请求结果分派(dispatch)一些Action。这是用例的简化示例://communication.js//AnexportedES6classmodulewithproxytotherequestlibrary.importpostfrom'./post';exportdefaultclasscommunication{getData(data,success,error){constres=post(data);if(res